# 解法1:已知正叠边形的圈数2,且内角为100度
# import turtle
# turtle.pensize(2)
# for i in range(9):
#     turtle.forward(150)
#     turtle.left(80)
# turtle.done()


# 解法2:指定正叠边形的圈数n,但是内角未知
import turtle
turtle.pensize(2)
circle=4 # 正叠边形的圈数

sides=4    # 多边形的边数,从4开始(1圈是四边形)
angle=360*circle//sides #多边形的外角
# 根据圈数求出最小边数和内角,3个判定条件
# 1.每个角的角度=总角度除以边数 必须除尽
# 2.叠边形内角大于90度小于180度.也就是外角小于90度,大于0
# 3.叠边形每圈的平均边数不能是整数, sides%circle==0 如果平均边数是整数,每圈就会完全重叠
while (circle * 360 % sides != 0)or not (90 > angle > 0) or sides%circle==0:
    sides=sides+1
    angle = 360 * circle // sides
# 根据边数和角度画图
print(sides,angle)
# 存在的问题:如果circle不是素数,得到的会是其因数圈叠边形的边数和角度,如circle=4时,结果和circle=2时是一致的.
# 解决方案:如果circle不是素数,求出其因数的角度,如果角度相等,需要继续进入循环,直到找到一个角度不相等的结果(未实现)
for i in range(sides):
    turtle.forward(150)
    turtle.left(angle)
turtle.done()